package com.canyou.integration.authenticator;

import com.canyou.integration.IntegrationAuthentication;
import com.canyou.system.model.User;

/**
 * @author LIQIU
 * @date 2018-4-4
 **/
public abstract class AbstractIntegrationAuthenticator implements IntegrationAuthenticator {

    /**
     * 获取用户
     *
     * @param integrationAuthentication
     * @return
     */
    @Override
    public abstract User authenticate(IntegrationAuthentication integrationAuthentication);

    /**
     * 预处理
     *
     * @param integrationAuthentication
     */
    @Override
    public abstract void prepare(IntegrationAuthentication integrationAuthentication);

    /**
     * 判断授权类型
     *
     * @param integrationAuthentication
     * @return
     */
    @Override
    public abstract boolean support(IntegrationAuthentication integrationAuthentication);

    /**
     * 后置处理
     *
     * @param integrationAuthentication
     */
    @Override
    public void complete(IntegrationAuthentication integrationAuthentication) {

    }

}
